package com.vfconsulting.common.model.repository;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;

import com.vfconsulting.common.model.Usuario;

public class UsuarioRepository implements Entity<Usuario>{
	
	EntityManager em;
	
	public UsuarioRepository(EntityManager em){
		this.em = em; 
	}
	
	@Override
	public Usuario insert(Usuario t) {
		em.persist(t);
		return t;
	}

	@Override
	public void update(Usuario t) {
		em.merge(t);
		
	}

	@Override
	public void delete(Usuario t) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Usuario findById(int id) {
		return em.find(Usuario.class, id);		
	}

	@Override
	public Usuario findById(Usuario o) {
		try {
			String jpql = "select o from Usuario o where o.nomaccessUsu=?1";
			Query q = em.createQuery(jpql);
			q.setParameter(1, o.getNomaccessUsu());
			q.setMaxResults(1);
			return (Usuario)q.getSingleResult();
		} catch (NoResultException e) {
			return null;
		}	
	}

	@Override
	public List<Usuario> listAll() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Usuario> listByCustomCriteria(Object... objects) {
		// TODO Auto-generated method stub
		return null;
	}

}
